﻿namespace VKProxy.HttpRoutingStatement;

public class Symbols
{
    /// <summary>
    /// '\n'
    /// </summary>
    public const char NewLine = '\n';

    /// <summary>
    /// ' '
    /// </summary>
    public const char Whitespace = ' ';

    /// <summary>
    /// '\r'
    /// </summary>
    public const char CarriageReturn = '\r';

    /// <summary>
    /// '<'
    /// </summary>
    public const char LessThan = '<';

    /// <summary>
    /// '>'
    /// </summary>
    public const char GreaterThan = '>';

    /// <summary>
    /// '='
    /// </summary>
    public const char Equal = '=';

    /// <summary>
    /// '   '
    /// </summary>
    public const char Tab = (char)0x09;

    /// <summary>
    /// ','
    /// </summary>
    public const char Comma = ',';

    /// <summary>
    /// ';'
    /// </summary>
    public const char Semicolon = ';';

    /// <summary>
    /// '('
    /// </summary>
    public const char ParenOpen = '(';

    /// <summary>
    /// ')'
    /// </summary>
    public const char ParenClose = ')';

    /// <summary>
    /// '!'
    /// </summary>
    public const char ExclamationMark = '!';

    public const char EOF = char.MaxValue;

    /// <summary>
    /// 0
    /// </summary>
    public const char Zero = '0';

    /// <summary>
    /// 9
    /// </summary>
    public const char Nine = '9';

    public const char CapitalA = 'A';            // A
    public const char CapitalZ = 'Z';            // Z
    public const char LowerA = 'a';              // a
    public const char LowerZ = 'z';              // z
    public const char Tilde = '~';               // ~
    public const char Pipe = '|';                // |
    public const char Backtick = '`';            // `

    /// <summary>
    /// &amp
    /// </summary>
    public const char Ampersand = (char)0x26;           //

    /// <summary>
    /// #
    /// </summary>
    public const char Num = (char)0x23;                 // #

    /// <summary>
    /// $
    /// </summary>
    public const char Dollar = (char)0x24;              // $

    /// <summary>
    /// *
    /// </summary>
    public const char Asterisk = (char)0x2a;            // *

    /// <summary>
    /// +
    /// </summary>
    public const char Plus = '+';

    /// <summary>
    /// -
    /// </summary>
    public const char Minus = '-';

    /// <summary>
    /// /
    /// </summary>
    public const char Divide = '/';

    /// <summary>
    /// .
    /// </summary>
    public const char Dot = '.';

    /// <summary>
    /// ^
    /// </summary>
    public const char Caret = '^';

    /// <summary>
    /// @
    /// </summary>
    public const char At = '@';

    public const char SingleQuote = '\'';         // '
    public const char DoubleQuote = '"';           // "
    public const char QuestionMark = '?';          // ?

    /// <summary>
    /// reverse solidus \
    /// </summary>
    public const char Backslash = (char)0x5c;           // reverse solidus \

    public const char Colon = ':';                 // :
    public const char Underscore = '_';           // _
    public const char Percent = '%';             // %
    public const char SquareBracketOpen = '[';    // [
    public const char SquareBracketClose = ']';  // ]
    public const char CurlyBracketOpen = '{';    // {
    public const char CurlyBracketClose = '}';   // }
}